package br.com.mmm.javacenter.framework.dao;

import java.io.Serializable;
import java.util.List;

import br.com.mmm.javacenter.framework.entity.EntidadeBase;

public interface RepositoryBase<T extends EntidadeBase<T>> {
	public Class klass();
	public void klass(Class<?> klass);
	public void incluir(T entity);
	public void alterar(T entity);
	public void excluir(T entity);
	public void mesclar(T entity);
	public void atualizar(T entity);
	public Integer contar();
	public List<T> listarTodos();
	public List<T> listarTodos(Class<T> tipo);
	public List<T> listarPagina(Class<T> tipo,Integer pagina);
	public List<T> listarPagina(Integer pagina);
	public List<T> consultaPorExemplo(T entity);
	public T consultaPorCodigo(Serializable codigo);
	public T consultaPorCodigo(T tipoStatus);
	public List<T> listarPagina(Integer displayTagPag,Integer displayTagOrder, Integer displayTagSort);
	
}
